%ifndef __NASMX_ADVAPI32_INC__
%define __NASMX_ADVAPI32_INC__

IMPORT AbortSystemShutdownA, 4
IMPORT AbortSystemShutdownW, 4
IMPORT AccessCheck, 32
IMPORT AccessCheckAndAuditAlarmA, 44
IMPORT AccessCheckAndAuditAlarmW, 44
IMPORT AccessCheckByType, 44
IMPORT AccessCheckByTypeAndAuditAlarmA, 64
IMPORT AccessCheckByTypeAndAuditAlarmW, 64
IMPORT AccessCheckByTypeResultList, 44
IMPORT AccessCheckByTypeResultListAndAuditAlarmA, 64
IMPORT AccessCheckByTypeResultListAndAuditAlarmByHandleA, 68
IMPORT AccessCheckByTypeResultListAndAuditAlarmByHandleW, 68
IMPORT AccessCheckByTypeResultListAndAuditAlarmW, 64
IMPORT AddAccessAllowedAce, 16
IMPORT AddAccessAllowedAceEx, 20
IMPORT AddAccessAllowedObjectAce, 28
IMPORT AddAccessDeniedAce, 16
IMPORT AddAccessDeniedAceEx, 20
IMPORT AddAccessDeniedObjectAce, 28
IMPORT AddAce, 20
IMPORT AddAuditAccessAce, 24
IMPORT AddAuditAccessAceEx, 28
IMPORT AddAuditAccessObjectAce, 36
IMPORT AddUsersToEncryptedFile, 8
IMPORT AdjustTokenGroups, 24
IMPORT AdjustTokenPrivileges, 24
IMPORT AllocateAndInitializeSid, 44
IMPORT AllocateLocallyUniqueId, 4
IMPORT AreAllAccessesGranted, 8
IMPORT AreAnyAccessesGranted, 8
IMPORT BackupEventLogA, 8
IMPORT BackupEventLogW, 8
IMPORT BuildExplicitAccessWithNameA, 20
IMPORT BuildExplicitAccessWithNameW, 20
IMPORT BuildImpersonateExplicitAccessWithNameA, 24
IMPORT BuildImpersonateExplicitAccessWithNameW, 24
IMPORT BuildImpersonateTrusteeA, 8
IMPORT BuildImpersonateTrusteeW, 8
IMPORT BuildSecurityDescriptorA, 36
IMPORT BuildSecurityDescriptorW, 36
IMPORT BuildTrusteeWithNameA, 8
IMPORT BuildTrusteeWithNameW, 8
IMPORT BuildTrusteeWithObjectsAndNameA, 24
IMPORT BuildTrusteeWithObjectsAndNameW, 24
IMPORT BuildTrusteeWithObjectsAndSidA, 20
IMPORT BuildTrusteeWithObjectsAndSidW, 20
IMPORT BuildTrusteeWithSidA, 8
IMPORT BuildTrusteeWithSidW, 8
IMPORT CancelOverlappedAccess, 4
IMPORT ChangeServiceConfig2A, 12
IMPORT ChangeServiceConfig2W, 12
IMPORT ChangeServiceConfigA, 44
IMPORT ChangeServiceConfigW, 44
IMPORT CheckTokenMembership, 12
IMPORT ClearEventLogA, 8
IMPORT ClearEventLogW, 8
IMPORT CloseCodeAuthzLevel, 4
IMPORT CloseEncryptedFileRaw, 4
IMPORT CloseEventLog, 4
IMPORT CloseServiceHandle, 4
IMPORT CloseTrace, 8
IMPORT CommandLineFromMsiDescriptor, 12
IMPORT ComputeAccessTokenFromCodeAuthzLevel, 20
IMPORT ControlService, 12
IMPORT ControlTraceA, 20
IMPORT ControlTraceW, 20
IMPORT ConvertAccessToSecurityDescriptorA, 20
IMPORT ConvertAccessToSecurityDescriptorW, 20
IMPORT ConvertSDToStringSDRootDomainA, 24
IMPORT ConvertSDToStringSDRootDomainW, 24
IMPORT ConvertSecurityDescriptorToAccessA, 28
IMPORT ConvertSecurityDescriptorToAccessNamedA, 28
IMPORT ConvertSecurityDescriptorToAccessNamedW, 28
IMPORT ConvertSecurityDescriptorToAccessW, 28
IMPORT ConvertSecurityDescriptorToStringSecurityDescriptorA, 20
IMPORT ConvertSecurityDescriptorToStringSecurityDescriptorW, 20
IMPORT ConvertSidToStringSidA, 8
IMPORT ConvertSidToStringSidW, 8
IMPORT ConvertStringSDToSDDomainA, 24
IMPORT ConvertStringSDToSDDomainW, 24
IMPORT ConvertStringSDToSDRootDomainA, 20
IMPORT ConvertStringSDToSDRootDomainW, 20
IMPORT ConvertStringSecurityDescriptorToSecurityDescriptorA, 16
IMPORT ConvertStringSecurityDescriptorToSecurityDescriptorW, 16
IMPORT ConvertStringSidToSidA, 8
IMPORT ConvertStringSidToSidW, 8
IMPORT ConvertToAutoInheritPrivateObjectSecurity, 24
IMPORT CopySid, 12
IMPORT CreateCodeAuthzLevel, 20
IMPORT CreatePrivateObjectSecurity, 24
IMPORT CreatePrivateObjectSecurityEx, 32
IMPORT CreatePrivateObjectSecurityWithMultipleInheritance, 36
IMPORT CreateProcessAsUserA, 44
IMPORT CreateProcessAsUserW, 44
IMPORT CreateProcessWithLogonW, 44
IMPORT CreateProcessWithTokenW, 36
IMPORT CreateRestrictedToken, 36
IMPORT CreateServiceA, 52
IMPORT CreateServiceW, 52
IMPORT CreateTraceInstanceId, 8
IMPORT CreateWellKnownSid, 16
IMPORT CredDeleteA, 12
IMPORT CredDeleteW, 12
IMPORT CredEnumerateA, 16
IMPORT CredEnumerateW, 16
IMPORT CredFree, 4
IMPORT CredGetSessionTypes, 8
IMPORT CredGetTargetInfoA, 12
IMPORT CredGetTargetInfoW, 12
IMPORT CredIsMarshaledCredentialA, 4
IMPORT CredIsMarshaledCredentialW, 4
IMPORT CredMarshalCredentialA, 12
IMPORT CredMarshalCredentialW, 12
IMPORT CredReadA, 16
IMPORT CredReadDomainCredentialsA, 16
IMPORT CredReadDomainCredentialsW, 16
IMPORT CredReadW, 16
IMPORT CredRenameA, 16
IMPORT CredRenameW, 16
IMPORT CredUnmarshalCredentialA, 12
IMPORT CredUnmarshalCredentialW, 12
IMPORT CredWriteA, 8
IMPORT CredWriteDomainCredentialsA, 12
IMPORT CredWriteDomainCredentialsW, 12
IMPORT CredWriteW, 8
IMPORT CryptAcquireContextA, 20
IMPORT CryptAcquireContextW, 20
IMPORT CryptContextAddRef, 12
IMPORT CryptCreateHash, 20
IMPORT CryptDecrypt, 24
IMPORT CryptDeriveKey, 20
IMPORT CryptDestroyHash, 4
IMPORT CryptDestroyKey, 4
IMPORT CryptDuplicateHash, 16
IMPORT CryptDuplicateKey, 16
IMPORT CryptEncrypt, 28
IMPORT CryptEnumProviderTypesA, 24
IMPORT CryptEnumProviderTypesW, 24
IMPORT CryptEnumProvidersA, 24
IMPORT CryptEnumProvidersW, 24
IMPORT CryptExportKey, 24
IMPORT CryptGenKey, 16
IMPORT CryptGenRandom, 12
IMPORT CryptGetDefaultProviderA, 20
IMPORT CryptGetDefaultProviderW, 20
IMPORT CryptGetHashParam, 20
IMPORT CryptGetKeyParam, 20
IMPORT CryptGetProvParam, 20
IMPORT CryptGetUserKey, 12
IMPORT CryptHashData, 16
IMPORT CryptHashSessionKey, 12
IMPORT CryptImportKey, 24
IMPORT CryptReleaseContext, 8
IMPORT CryptSetHashParam, 16
IMPORT CryptSetKeyParam, 16
IMPORT CryptSetProvParam, 16
IMPORT CryptSetProviderA, 8
IMPORT CryptSetProviderExA, 16
IMPORT CryptSetProviderExW, 16
IMPORT CryptSetProviderW, 8
IMPORT CryptSignHashA, 24
IMPORT CryptSignHashW, 24
IMPORT CryptVerifySignatureA, 24
IMPORT CryptVerifySignatureW, 24
IMPORT DecryptFileA, 8
IMPORT DecryptFileW, 8
IMPORT DeleteAce, 8
IMPORT DeleteService, 4
IMPORT DeregisterEventSource, 4
IMPORT DestroyPrivateObjectSecurity, 4
IMPORT DuplicateEncryptionInfoFile, 20
IMPORT DuplicateToken, 12
IMPORT DuplicateTokenEx, 24
IMPORT ElfBackupEventLogFileA, 8
IMPORT ElfBackupEventLogFileW, 8
IMPORT ElfChangeNotify, 8
IMPORT ElfClearEventLogFileA, 8
IMPORT ElfClearEventLogFileW, 8
IMPORT ElfCloseEventLog, 4
IMPORT ElfDeregisterEventSource, 4
IMPORT ElfFlushEventLog, 4
IMPORT ElfNumberOfRecords, 8
IMPORT ElfOldestRecord, 8
IMPORT ElfOpenBackupEventLogA, 12
IMPORT ElfOpenBackupEventLogW, 12
IMPORT ElfOpenEventLogA, 12
IMPORT ElfOpenEventLogW, 12
IMPORT ElfReadEventLogA, 28
IMPORT ElfReadEventLogW, 28
IMPORT ElfRegisterEventSourceA, 12
IMPORT ElfRegisterEventSourceW, 12
IMPORT ElfReportEventA, 48
IMPORT ElfReportEventAndSourceW, 60
IMPORT ElfReportEventW, 48
IMPORT EnableTrace, 24
IMPORT EncryptFileA, 4
IMPORT EncryptFileW, 4
IMPORT EncryptedFileKeyInfo, 12
IMPORT EncryptionDisable, 8
IMPORT EnumDependentServicesA, 24
IMPORT EnumDependentServicesW, 24
IMPORT EnumServiceGroupW, 36
IMPORT EnumServicesStatusA, 32
IMPORT EnumServicesStatusExA, 40
IMPORT EnumServicesStatusExW, 40
IMPORT EnumServicesStatusW, 32
IMPORT EnumerateTraceGuids, 12
IMPORT EqualDomainSid, 12
IMPORT EqualPrefixSid, 8
IMPORT EqualSid, 8
IMPORT FileEncryptionStatusA, 8
IMPORT FileEncryptionStatusW, 8
IMPORT FindFirstFreeAce, 8
IMPORT FlushTraceA, 16
IMPORT FlushTraceW, 16
IMPORT FreeEncryptedFileKeyInfo, 4
IMPORT FreeEncryptionCertificateHashList, 4
IMPORT FreeInheritedFromArray, 12
IMPORT FreeSid, 4
IMPORT GetAccessPermissionsForObjectA, 36
IMPORT GetAccessPermissionsForObjectW, 36
IMPORT GetAce, 12
IMPORT GetAclInformation, 16
IMPORT GetAuditedPermissionsFromAclA, 16
IMPORT GetAuditedPermissionsFromAclW, 16
IMPORT GetCurrentHwProfileA, 4
IMPORT GetCurrentHwProfileW, 4
IMPORT GetEffectiveRightsFromAclA, 12
IMPORT GetEffectiveRightsFromAclW, 12
IMPORT GetEventLogInformation, 20
IMPORT GetExplicitEntriesFromAclA, 12
IMPORT GetExplicitEntriesFromAclW, 12
IMPORT GetFileSecurityA, 20
IMPORT GetFileSecurityW, 20
IMPORT GetInformationCodeAuthzLevelW, 20
IMPORT GetInformationCodeAuthzPolicyW, 24
IMPORT GetInheritanceSourceA, 40
IMPORT GetInheritanceSourceW, 40
IMPORT GetKernelObjectSecurity, 20
IMPORT GetLengthSid, 4
IMPORT GetLocalManagedApplicationData, 12
IMPORT GetLocalManagedApplications, 12
IMPORT GetManagedApplicationCategories, 8
IMPORT GetManagedApplications, 20
IMPORT GetMultipleTrusteeA, 4
IMPORT GetMultipleTrusteeOperationA, 4
IMPORT GetMultipleTrusteeOperationW, 4
IMPORT GetMultipleTrusteeW, 4
IMPORT GetNamedSecurityInfoA, 32
IMPORT GetNamedSecurityInfoExA, 36
IMPORT GetNamedSecurityInfoExW, 36
IMPORT GetNamedSecurityInfoW, 32
IMPORT GetNumberOfEventLogRecords, 8
IMPORT GetOldestEventLogRecord, 8
IMPORT GetOverlappedAccessResults, 16
IMPORT GetPrivateObjectSecurity, 20
IMPORT GetSecurityDescriptorControl, 12
IMPORT GetSecurityDescriptorDacl, 16
IMPORT GetSecurityDescriptorGroup, 12
IMPORT GetSecurityDescriptorLength, 4
IMPORT GetSecurityDescriptorOwner, 12
IMPORT GetSecurityDescriptorRMControl, 8
IMPORT GetSecurityDescriptorSacl, 16
IMPORT GetSecurityInfo, 32
IMPORT GetSecurityInfoExA, 36
IMPORT GetSecurityInfoExW, 36
IMPORT GetServiceDisplayNameA, 16
IMPORT GetServiceDisplayNameW, 16
IMPORT GetServiceKeyNameA, 16
IMPORT GetServiceKeyNameW, 16
IMPORT GetSidIdentifierAuthority, 4
IMPORT GetSidLengthRequired, 4
IMPORT GetSidSubAuthority, 8
IMPORT GetSidSubAuthorityCount, 4
IMPORT GetTokenInformation, 20
IMPORT GetTraceEnableFlags, 8
IMPORT GetTraceEnableLevel, 8
IMPORT GetTraceLoggerHandle, 4
IMPORT GetTrusteeFormA, 4
IMPORT GetTrusteeFormW, 4
IMPORT GetTrusteeNameA, 4
IMPORT GetTrusteeNameW, 4
IMPORT GetTrusteeTypeA, 4
IMPORT GetTrusteeTypeW, 4
IMPORT GetUserNameA, 8
IMPORT GetUserNameW, 8
IMPORT GetWindowsAccountDomainSid, 12
IMPORT I_ScSetServiceBitsA, 20
IMPORT I_ScSetServiceBitsW, 20
IMPORT IdentifyCodeAuthzLevelW, 16
IMPORT ImpersonateAnonymousToken, 4
IMPORT ImpersonateLoggedOnUser, 4
IMPORT ImpersonateNamedPipeClient, 4
IMPORT ImpersonateSelf, 4
IMPORT InitializeAcl, 12
IMPORT InitializeSecurityDescriptor, 8
IMPORT InitializeSid, 12
IMPORT InitiateSystemShutdownA, 20
IMPORT InitiateSystemShutdownExA, 24
IMPORT InitiateSystemShutdownExW, 24
IMPORT InitiateSystemShutdownW, 20
IMPORT InstallApplication, 4
IMPORT IsTextUnicode, 12
IMPORT IsTokenRestricted, 4
IMPORT IsTokenUntrusted, 4
IMPORT IsValidAcl, 4
IMPORT IsValidSecurityDescriptor, 4
IMPORT IsValidSid, 4
IMPORT IsWellKnownSid, 8
IMPORT LockServiceDatabase, 4
IMPORT LogonUserA, 24
IMPORT LogonUserExA, 40
IMPORT LogonUserExW, 40
IMPORT LogonUserW, 24
IMPORT LookupAccountNameA, 28
IMPORT LookupAccountNameW, 28
IMPORT LookupAccountSidA, 28
IMPORT LookupAccountSidW, 28
IMPORT LookupPrivilegeDisplayNameA, 20
IMPORT LookupPrivilegeDisplayNameW, 20
IMPORT LookupPrivilegeNameA, 16
IMPORT LookupPrivilegeNameW, 16
IMPORT LookupPrivilegeValueA, 12
IMPORT LookupPrivilegeValueW, 12
IMPORT LookupSecurityDescriptorPartsA, 28
IMPORT LookupSecurityDescriptorPartsW, 28
IMPORT LsaAddAccountRights, 16
IMPORT LsaAddPrivilegesToAccount, 8
IMPORT LsaClearAuditLog, 4
IMPORT LsaClose, 4
IMPORT LsaCreateAccount, 16
IMPORT LsaCreateSecret, 16
IMPORT LsaCreateTrustedDomain, 16
IMPORT LsaCreateTrustedDomainEx, 20
IMPORT LsaDelete, 4
IMPORT LsaDeleteTrustedDomain, 8
IMPORT LsaEnumerateAccountRights, 16
IMPORT LsaEnumerateAccounts, 20
IMPORT LsaEnumerateAccountsWithUserRight, 16
IMPORT LsaEnumeratePrivileges, 20
IMPORT LsaEnumeratePrivilegesOfAccount, 8
IMPORT LsaEnumerateTrustedDomains, 20
IMPORT LsaEnumerateTrustedDomainsEx, 20
IMPORT LsaFreeMemory, 4
IMPORT LsaGetQuotasForAccount, 8
IMPORT LsaGetRemoteUserName, 12
IMPORT LsaGetSystemAccessAccount, 8
IMPORT LsaGetUserName, 8
IMPORT LsaICLookupNames, 40
IMPORT LsaICLookupNamesWithCreds, 48
IMPORT LsaICLookupSids, 36
IMPORT LsaICLookupSidsWithCreds, 48
IMPORT LsaLookupNames2, 24
IMPORT LsaLookupNames, 20
IMPORT LsaLookupPrivilegeDisplayName, 16
IMPORT LsaLookupPrivilegeName, 12
IMPORT LsaLookupPrivilegeValue, 12
IMPORT LsaLookupSids, 20
IMPORT LsaNtStatusToWinError, 4
IMPORT LsaOpenAccount, 16
IMPORT LsaOpenPolicy, 16
IMPORT LsaOpenPolicySce, 16
IMPORT LsaOpenSecret, 16
IMPORT LsaOpenTrustedDomain, 16
IMPORT LsaOpenTrustedDomainByName, 16
IMPORT LsaQueryDomainInformationPolicy, 12
IMPORT LsaQueryForestTrustInformation, 12
IMPORT LsaQueryInfoTrustedDomain, 12
IMPORT LsaQueryInformationPolicy, 12
IMPORT LsaQuerySecret, 20
IMPORT LsaQuerySecurityObject, 12
IMPORT LsaQueryTrustedDomainInfo, 16
IMPORT LsaQueryTrustedDomainInfoByName, 16
IMPORT LsaRemoveAccountRights, 20
IMPORT LsaRemovePrivilegesFromAccount, 12
IMPORT LsaRetrievePrivateData, 12
IMPORT LsaSetDomainInformationPolicy, 12
IMPORT LsaSetForestTrustInformation, 20
IMPORT LsaSetInformationPolicy, 12
IMPORT LsaSetInformationTrustedDomain, 12
IMPORT LsaSetQuotasForAccount, 8
IMPORT LsaSetSecret, 12
IMPORT LsaSetSecurityObject, 12
IMPORT LsaSetSystemAccessAccount, 8
IMPORT LsaSetTrustedDomainInfoByName, 16
IMPORT LsaSetTrustedDomainInformation, 16
IMPORT LsaStorePrivateData, 12
IMPORT MSChapSrvChangePassword2, 28
IMPORT MSChapSrvChangePassword, 28
IMPORT MakeAbsoluteSD2, 8
IMPORT MakeAbsoluteSD, 44
IMPORT MakeSelfRelativeSD, 12
IMPORT MapGenericMask, 8
IMPORT NotifyBootConfigStatus, 4
IMPORT NotifyChangeEventLog, 8
IMPORT ObjectCloseAuditAlarmA, 12
IMPORT ObjectCloseAuditAlarmW, 12
IMPORT ObjectDeleteAuditAlarmA, 12
IMPORT ObjectDeleteAuditAlarmW, 12
IMPORT ObjectOpenAuditAlarmA, 48
IMPORT ObjectOpenAuditAlarmW, 48
IMPORT ObjectPrivilegeAuditAlarmA, 24
IMPORT ObjectPrivilegeAuditAlarmW, 24
IMPORT OpenBackupEventLogA, 8
IMPORT OpenBackupEventLogW, 8
IMPORT OpenEncryptedFileRawA, 12
IMPORT OpenEncryptedFileRawW, 12
IMPORT OpenEventLogA, 8
IMPORT OpenEventLogW, 8
IMPORT OpenProcessToken, 12
IMPORT OpenSCManagerA, 12
IMPORT OpenSCManagerW, 12
IMPORT OpenServiceA, 12
IMPORT OpenServiceW, 12
IMPORT OpenThreadToken, 16
IMPORT OpenTraceA, 4
IMPORT OpenTraceW, 4
IMPORT PrivilegeCheck, 12
IMPORT PrivilegedServiceAuditAlarmA, 20
IMPORT PrivilegedServiceAuditAlarmW, 20
IMPORT ProcessTrace, 16
IMPORT QueryAllTracesA, 12
IMPORT QueryAllTracesW, 12
IMPORT QueryRecoveryAgentsOnEncryptedFile, 8
IMPORT QueryServiceConfig2A, 20
IMPORT QueryServiceConfig2W, 20
IMPORT QueryServiceConfigA, 16
IMPORT QueryServiceConfigW, 16
IMPORT QueryServiceLockStatusA, 16
IMPORT QueryServiceLockStatusW, 16
IMPORT QueryServiceObjectSecurity, 20
IMPORT QueryServiceStatus, 8
IMPORT QueryServiceStatusEx, 20
IMPORT QueryTraceA, 16
IMPORT QueryTraceW, 16
IMPORT QueryUsersOnEncryptedFile, 8
IMPORT ReadEncryptedFileRaw, 12
IMPORT ReadEventLogA, 28
IMPORT ReadEventLogW, 28
IMPORT RegCloseKey, 4
IMPORT RegConnectRegistryA, 12
IMPORT RegConnectRegistryExA, 16
IMPORT RegConnectRegistryExW, 16
IMPORT RegConnectRegistryW, 12
IMPORT RegCreateKeyA, 12
IMPORT RegCreateKeyExA, 36
IMPORT RegCreateKeyExW, 36
IMPORT RegCreateKeyW, 12
IMPORT RegDeleteKeyA, 8
IMPORT RegDeleteKeyExA, 16
IMPORT RegDeleteKeyExW, 16
IMPORT RegDeleteKeyW, 8
IMPORT RegDeleteValueA, 8
IMPORT RegDeleteValueW, 8
IMPORT RegDisablePredefinedCache, 0
IMPORT RegDisableReflectionKey, 4
IMPORT RegEnableReflectionKey, 4
IMPORT RegEnumKeyA, 16
IMPORT RegEnumKeyExA, 32
IMPORT RegEnumKeyExW, 32
IMPORT RegEnumKeyW, 16
IMPORT RegEnumValueA, 32
IMPORT RegEnumValueW, 32
IMPORT RegFlushKey, 4
IMPORT RegGetKeySecurity, 16
IMPORT RegGetValueA, 28
IMPORT RegGetValueW, 28
IMPORT RegLoadKeyA, 12
IMPORT RegLoadKeyW, 12
IMPORT RegNotifyChangeKeyValue, 20
IMPORT RegOpenCurrentUser, 8
IMPORT RegOpenKeyA, 12
IMPORT RegOpenKeyExA, 20
IMPORT RegOpenKeyExW, 20
IMPORT RegOpenKeyW, 12
IMPORT RegOpenUserClassesRoot, 16
IMPORT RegOverridePredefKey, 8
IMPORT RegQueryInfoKeyA, 48
IMPORT RegQueryInfoKeyW, 48
IMPORT RegQueryMultipleValuesA, 20
IMPORT RegQueryMultipleValuesW, 20
IMPORT RegQueryReflectionKey, 8
IMPORT RegQueryValueA, 16
IMPORT RegQueryValueExA, 24
IMPORT RegQueryValueExW, 24
IMPORT RegQueryValueW, 16
IMPORT RegReplaceKeyA, 16
IMPORT RegReplaceKeyW, 16
IMPORT RegRestoreKeyA, 12
IMPORT RegRestoreKeyW, 12
IMPORT RegSaveKeyA, 12
IMPORT RegSaveKeyExA, 16
IMPORT RegSaveKeyExW, 16
IMPORT RegSaveKeyW, 12
IMPORT RegSetKeySecurity, 12
IMPORT RegSetValueA, 20
IMPORT RegSetValueExA, 24
IMPORT RegSetValueExW, 24
IMPORT RegSetValueW, 20
IMPORT RegUnLoadKeyA, 8
IMPORT RegUnLoadKeyW, 8
IMPORT RegisterEventSourceA, 8
IMPORT RegisterEventSourceW, 8
IMPORT RegisterServiceCtrlHandlerA, 8
IMPORT RegisterServiceCtrlHandlerExA, 12
IMPORT RegisterServiceCtrlHandlerExW, 12
IMPORT RegisterServiceCtrlHandlerW, 8
IMPORT RegisterTraceGuidsA, 32
IMPORT RegisterTraceGuidsW, 32
IMPORT RemoveTraceCallback, 4
IMPORT RemoveUsersFromEncryptedFile, 8
IMPORT ReportEventA, 36
IMPORT ReportEventW, 36
IMPORT RevertToSelf, 0
IMPORT SaferCloseLevel, 4
IMPORT SaferComputeTokenFromLevel, 20
IMPORT SaferCreateLevel, 20
IMPORT SaferGetLevelInformation, 20
IMPORT SaferGetPolicyInformation, 24
IMPORT SaferIdentifyLevel, 16
IMPORT SaferRecordEventLogEntry, 12
IMPORT SaferSetLevelInformation, 16
IMPORT SaferSetPolicyInformation, 20
IMPORT SaferiIsExecutableFileType, 8
IMPORT SetAclInformation, 16
IMPORT SetEntriesInAccessListA, 24
IMPORT SetEntriesInAccessListW, 24
IMPORT SetEntriesInAclA, 16
IMPORT SetEntriesInAclW, 16
IMPORT SetEntriesInAuditListA, 24
IMPORT SetEntriesInAuditListW, 24
IMPORT SetFileSecurityA, 12
IMPORT SetFileSecurityW, 12
IMPORT SetInformationCodeAuthzLevelW, 16
IMPORT SetInformationCodeAuthzPolicyW, 20
IMPORT SetKernelObjectSecurity, 12
IMPORT SetNamedSecurityInfoA, 28
IMPORT SetNamedSecurityInfoExA, 36
IMPORT SetNamedSecurityInfoExW, 36
IMPORT SetNamedSecurityInfoW, 28
IMPORT SetPrivateObjectSecurity, 20
IMPORT SetPrivateObjectSecurityEx, 24
IMPORT SetSecurityDescriptorControl, 12
IMPORT SetSecurityDescriptorDacl, 16
IMPORT SetSecurityDescriptorGroup, 12
IMPORT SetSecurityDescriptorOwner, 12
IMPORT SetSecurityDescriptorRMControl, 8
IMPORT SetSecurityDescriptorSacl, 16
IMPORT SetSecurityInfo, 28
IMPORT SetSecurityInfoExA, 36
IMPORT SetSecurityInfoExW, 36
IMPORT SetServiceBits, 16
IMPORT SetServiceObjectSecurity, 12
IMPORT SetServiceStatus, 8
IMPORT SetThreadToken, 8
IMPORT SetTokenInformation, 16
IMPORT SetTraceCallback, 8
IMPORT SetUserFileEncryptionKey, 4
IMPORT StartServiceA, 12
IMPORT StartServiceCtrlDispatcherA, 4
IMPORT StartServiceCtrlDispatcherW, 4
IMPORT StartServiceW, 12
IMPORT StartTraceA, 12
IMPORT StartTraceW, 12
IMPORT StopTraceA, 16
IMPORT StopTraceW, 16
IMPORT SystemFunction001, 12
IMPORT SystemFunction002, 12
IMPORT SystemFunction003, 8
IMPORT SystemFunction004, 12
IMPORT SystemFunction005, 12
IMPORT SystemFunction006, 8
IMPORT SystemFunction007, 8
IMPORT SystemFunction008, 12
IMPORT SystemFunction009, 12
IMPORT SystemFunction010, 12
IMPORT SystemFunction011, 12
IMPORT SystemFunction012, 12
IMPORT SystemFunction013, 12
IMPORT SystemFunction014, 12
IMPORT SystemFunction015, 12
IMPORT SystemFunction016, 12
IMPORT SystemFunction017, 12
IMPORT SystemFunction018, 12
IMPORT SystemFunction019, 12
IMPORT SystemFunction020, 12
IMPORT SystemFunction021, 12
IMPORT SystemFunction022, 12
IMPORT SystemFunction023, 12
IMPORT SystemFunction024, 12
IMPORT SystemFunction025, 12
IMPORT SystemFunction026, 12
IMPORT SystemFunction027, 12
IMPORT SystemFunction028, 8
IMPORT SystemFunction029, 8
IMPORT SystemFunction030, 8
IMPORT SystemFunction031, 8
IMPORT SystemFunction032, 8
IMPORT SystemFunction033, 8
IMPORT SystemFunction034, 12
IMPORT SystemFunction036, 8
IMPORT SystemFunction040, 12
IMPORT SystemFunction041, 12
IMPORT TraceEvent, 12
IMPORT TraceEventInstance, 20
IMPORT TraceMessage
IMPORT TraceMessageVa, 24
IMPORT TreeResetNamedSecurityInfoA, 44
IMPORT TreeResetNamedSecurityInfoW, 44
IMPORT TrusteeAccessToObjectA, 24
IMPORT TrusteeAccessToObjectW, 24
IMPORT UninstallApplication, 8
IMPORT UnlockServiceDatabase, 4
IMPORT UnregisterTraceGuids, 8
IMPORT UpdateTraceA, 16
IMPORT UpdateTraceW, 16
IMPORT Wow64Win32ApiEntry, 12
IMPORT WriteEncryptedFileRaw, 12

%ifdef UNICODE

%define AbortSystemShutdown AbortSystemShutdownW
%define AccessCheckAndAuditAlarm AccessCheckAndAuditAlarmW
%define AccessCheckByTypeAndAuditAlarm AccessCheckByTypeAndAuditAlarmW
%define AccessCheckByTypeResultListAndAuditAlarm AccessCheckByTypeResultListAndAuditAlarmW
%define AccessCheckByTypeResultListAndAuditAlarmByHandle AccessCheckByTypeResultListAndAuditAlarmByHandleW
%define BackupEventLog BackupEventLogW
%define BuildExplicitAccessWithName BuildExplicitAccessWithNameW
%define BuildImpersonateExplicitAccessWithName BuildImpersonateExplicitAccessWithNameW
%define BuildImpersonateTrustee BuildImpersonateTrusteeW
%define BuildSecurityDescriptor BuildSecurityDescriptorW
%define BuildTrusteeWithName BuildTrusteeWithNameW
%define BuildTrusteeWithObjectsAndName BuildTrusteeWithObjectsAndNameW
%define BuildTrusteeWithObjectsAndSid BuildTrusteeWithObjectsAndSidW
%define BuildTrusteeWithSid BuildTrusteeWithSidW
%define ChangeServiceConfig2 ChangeServiceConfig2W
%define ChangeServiceConfig ChangeServiceConfigW
%define ClearEventLog ClearEventLogW
%define ControlTrace ControlTraceW
%define ConvertAccessToSecurityDescriptor ConvertAccessToSecurityDescriptorW
%define ConvertSDToStringSDRootDomain ConvertSDToStringSDRootDomainW
%define ConvertSecurityDescriptorToAccess ConvertSecurityDescriptorToAccessW
%define ConvertSecurityDescriptorToAccessNamed ConvertSecurityDescriptorToAccessNamedW
%define ConvertSecurityDescriptorToStringSecurityDescriptor ConvertSecurityDescriptorToStringSecurityDescriptorW
%define ConvertSidToStringSid ConvertSidToStringSidW
%define ConvertStringSDToSDDomain ConvertStringSDToSDDomainW
%define ConvertStringSDToSDRootDomain ConvertStringSDToSDRootDomainW
%define ConvertStringSecurityDescriptorToSecurityDescriptor ConvertStringSecurityDescriptorToSecurityDescriptorW
%define ConvertStringSidToSid ConvertStringSidToSidW
%define CreateProcessAsUser CreateProcessAsUserW
%define CreateService CreateServiceW
%define CredDelete CredDeleteW
%define CredEnumerate CredEnumerateW
%define CredGetTargetInfo CredGetTargetInfoW
%define CredIsMarshaledCredential CredIsMarshaledCredentialW
%define CredMarshalCredential CredMarshalCredentialW
%define CredRead CredReadW
%define CredReadDomainCredentials CredReadDomainCredentialsW
%define CredRename CredRenameW
%define CredUnmarshalCredential CredUnmarshalCredentialW
%define CredWrite CredWriteW
%define CredWriteDomainCredentials CredWriteDomainCredentialsW
%define CryptAcquireContext CryptAcquireContextW
%define CryptEnumProviderTypes CryptEnumProviderTypesW
%define CryptEnumProviders CryptEnumProvidersW
%define CryptGetDefaultProvider CryptGetDefaultProviderW
%define CryptSetProvider CryptSetProviderW
%define CryptSetProviderEx CryptSetProviderExW
%define CryptSignHash CryptSignHashW
%define CryptVerifySignature CryptVerifySignatureW
%define DecryptFile DecryptFileW
%define ElfBackupEventLogFile ElfBackupEventLogFileW
%define ElfClearEventLogFile ElfClearEventLogFileW
%define ElfOpenBackupEventLog ElfOpenBackupEventLogW
%define ElfOpenEventLog ElfOpenEventLogW
%define ElfReadEventLog ElfReadEventLogW
%define ElfRegisterEventSource ElfRegisterEventSourceW
%define ElfReportEvent ElfReportEventW
%define EncryptFile EncryptFileW
%define EnumDependentServices EnumDependentServicesW
%define EnumServicesStatus EnumServicesStatusW
%define EnumServicesStatusEx EnumServicesStatusExW
%define FileEncryptionStatus FileEncryptionStatusW
%define FlushTrace FlushTraceW
%define GetAccessPermissionsForObject GetAccessPermissionsForObjectW
%define GetAuditedPermissionsFromAcl GetAuditedPermissionsFromAclW
%define GetCurrentHwProfile GetCurrentHwProfileW
%define GetEffectiveRightsFromAcl GetEffectiveRightsFromAclW
%define GetExplicitEntriesFromAcl GetExplicitEntriesFromAclW
%define GetFileSecurity GetFileSecurityW
%define GetInheritanceSource GetInheritanceSourceW
%define GetMultipleTrustee GetMultipleTrusteeW
%define GetMultipleTrusteeOperation GetMultipleTrusteeOperationW
%define GetNamedSecurityInfo GetNamedSecurityInfoW
%define GetNamedSecurityInfoEx GetNamedSecurityInfoExW
%define GetSecurityInfoEx GetSecurityInfoExW
%define GetServiceDisplayName GetServiceDisplayNameW
%define GetServiceKeyName GetServiceKeyNameW
%define GetTrusteeForm GetTrusteeFormW
%define GetTrusteeName GetTrusteeNameW
%define GetTrusteeType GetTrusteeTypeW
%define GetUserName GetUserNameW
%define I_ScSetServiceBits I_ScSetServiceBitsW
%define InitiateSystemShutdown InitiateSystemShutdownW
%define InitiateSystemShutdownEx InitiateSystemShutdownExW
%define LogonUser LogonUserW
%define LogonUserEx LogonUserExW
%define LookupAccountName LookupAccountNameW
%define LookupAccountSid LookupAccountSidW
%define LookupPrivilegeDisplayName LookupPrivilegeDisplayNameW
%define LookupPrivilegeName LookupPrivilegeNameW
%define LookupPrivilegeValue LookupPrivilegeValueW
%define LookupSecurityDescriptorParts LookupSecurityDescriptorPartsW
%define ObjectCloseAuditAlarm ObjectCloseAuditAlarmW
%define ObjectDeleteAuditAlarm ObjectDeleteAuditAlarmW
%define ObjectOpenAuditAlarm ObjectOpenAuditAlarmW
%define ObjectPrivilegeAuditAlarm ObjectPrivilegeAuditAlarmW
%define OpenBackupEventLog OpenBackupEventLogW
%define OpenEncryptedFileRaw OpenEncryptedFileRawW
%define OpenEventLog OpenEventLogW
%define OpenSCManager OpenSCManagerW
%define OpenService OpenServiceW
%define OpenTrace OpenTraceW
%define PrivilegedServiceAuditAlarm PrivilegedServiceAuditAlarmW
%define QueryAllTraces QueryAllTracesW
%define QueryServiceConfig2 QueryServiceConfig2W
%define QueryServiceConfig QueryServiceConfigW
%define QueryServiceLockStatus QueryServiceLockStatusW
%define QueryTrace QueryTraceW
%define ReadEventLog ReadEventLogW
%define RegConnectRegistry RegConnectRegistryW
%define RegConnectRegistryEx RegConnectRegistryExW
%define RegCreateKey RegCreateKeyW
%define RegCreateKeyEx RegCreateKeyExW
%define RegDeleteKey RegDeleteKeyW
%define RegDeleteKeyEx RegDeleteKeyExW
%define RegDeleteValue RegDeleteValueW
%define RegEnumKey RegEnumKeyW
%define RegEnumKeyEx RegEnumKeyExW
%define RegEnumValue RegEnumValueW
%define RegGetValue RegGetValueW
%define RegLoadKey RegLoadKeyW
%define RegOpenKey RegOpenKeyW
%define RegOpenKeyEx RegOpenKeyExW
%define RegQueryInfoKey RegQueryInfoKeyW
%define RegQueryMultipleValues RegQueryMultipleValuesW
%define RegQueryValue RegQueryValueW
%define RegQueryValueEx RegQueryValueExW
%define RegReplaceKey RegReplaceKeyW
%define RegRestoreKey RegRestoreKeyW
%define RegSaveKey RegSaveKeyW
%define RegSaveKeyEx RegSaveKeyExW
%define RegSetValue RegSetValueW
%define RegSetValueEx RegSetValueExW
%define RegUnLoadKey RegUnLoadKeyW
%define RegisterEventSource RegisterEventSourceW
%define RegisterServiceCtrlHandler RegisterServiceCtrlHandlerW
%define RegisterServiceCtrlHandlerEx RegisterServiceCtrlHandlerExW
%define RegisterTraceGuids RegisterTraceGuidsW
%define ReportEvent ReportEventW
%define SetEntriesInAccessList SetEntriesInAccessListW
%define SetEntriesInAcl SetEntriesInAclW
%define SetEntriesInAuditList SetEntriesInAuditListW
%define SetFileSecurity SetFileSecurityW
%define SetNamedSecurityInfo SetNamedSecurityInfoW
%define SetNamedSecurityInfoEx SetNamedSecurityInfoExW
%define SetSecurityInfoEx SetSecurityInfoExW
%define StartService StartServiceW
%define StartServiceCtrlDispatcher StartServiceCtrlDispatcherW
%define StartTrace StartTraceW
%define StopTrace StopTraceW
%define TreeResetNamedSecurityInfo TreeResetNamedSecurityInfoW
%define TrusteeAccessToObject TrusteeAccessToObjectW
%define UpdateTrace UpdateTraceW

%else  ;// ANSI

%define AbortSystemShutdown AbortSystemShutdownA
%define AccessCheckAndAuditAlarm AccessCheckAndAuditAlarmA
%define AccessCheckByTypeAndAuditAlarm AccessCheckByTypeAndAuditAlarmA
%define AccessCheckByTypeResultListAndAuditAlarm AccessCheckByTypeResultListAndAuditAlarmA
%define AccessCheckByTypeResultListAndAuditAlarmByHandle AccessCheckByTypeResultListAndAuditAlarmByHandleA
%define BackupEventLog BackupEventLogA
%define BuildExplicitAccessWithName BuildExplicitAccessWithNameA
%define BuildImpersonateExplicitAccessWithName BuildImpersonateExplicitAccessWithNameA
%define BuildImpersonateTrustee BuildImpersonateTrusteeA
%define BuildSecurityDescriptor BuildSecurityDescriptorA
%define BuildTrusteeWithName BuildTrusteeWithNameA
%define BuildTrusteeWithObjectsAndName BuildTrusteeWithObjectsAndNameA
%define BuildTrusteeWithObjectsAndSid BuildTrusteeWithObjectsAndSidA
%define BuildTrusteeWithSid BuildTrusteeWithSidA
%define ChangeServiceConfig2 ChangeServiceConfig2A
%define ChangeServiceConfig ChangeServiceConfigA
%define ClearEventLog ClearEventLogA
%define ControlTrace ControlTraceA
%define ConvertAccessToSecurityDescriptor ConvertAccessToSecurityDescriptorA
%define ConvertSDToStringSDRootDomain ConvertSDToStringSDRootDomainA
%define ConvertSecurityDescriptorToAccess ConvertSecurityDescriptorToAccessA
%define ConvertSecurityDescriptorToAccessNamed ConvertSecurityDescriptorToAccessNamedA
%define ConvertSecurityDescriptorToStringSecurityDescriptor ConvertSecurityDescriptorToStringSecurityDescriptorA
%define ConvertSidToStringSid ConvertSidToStringSidA
%define ConvertStringSDToSDDomain ConvertStringSDToSDDomainA
%define ConvertStringSDToSDRootDomain ConvertStringSDToSDRootDomainA
%define ConvertStringSecurityDescriptorToSecurityDescriptor ConvertStringSecurityDescriptorToSecurityDescriptorA
%define ConvertStringSidToSid ConvertStringSidToSidA
%define CreateProcessAsUser CreateProcessAsUserA
%define CreateService CreateServiceA
%define CredDelete CredDeleteA
%define CredEnumerate CredEnumerateA
%define CredGetTargetInfo CredGetTargetInfoA
%define CredIsMarshaledCredential CredIsMarshaledCredentialA
%define CredMarshalCredential CredMarshalCredentialA
%define CredRead CredReadA
%define CredReadDomainCredentials CredReadDomainCredentialsA
%define CredRename CredRenameA
%define CredUnmarshalCredential CredUnmarshalCredentialA
%define CredWrite CredWriteA
%define CredWriteDomainCredentials CredWriteDomainCredentialsA
%define CryptAcquireContext CryptAcquireContextA
%define CryptEnumProviderTypes CryptEnumProviderTypesA
%define CryptEnumProviders CryptEnumProvidersA
%define CryptGetDefaultProvider CryptGetDefaultProviderA
%define CryptSetProvider CryptSetProviderA
%define CryptSetProviderEx CryptSetProviderExA
%define CryptSignHash CryptSignHashA
%define CryptVerifySignature CryptVerifySignatureA
%define DecryptFile DecryptFileA
%define ElfBackupEventLogFile ElfBackupEventLogFileA
%define ElfClearEventLogFile ElfClearEventLogFileA
%define ElfOpenBackupEventLog ElfOpenBackupEventLogA
%define ElfOpenEventLog ElfOpenEventLogA
%define ElfReadEventLog ElfReadEventLogA
%define ElfRegisterEventSource ElfRegisterEventSourceA
%define ElfReportEvent ElfReportEventA
%define EncryptFile EncryptFileA
%define EnumDependentServices EnumDependentServicesA
%define EnumServicesStatus EnumServicesStatusA
%define EnumServicesStatusEx EnumServicesStatusExA
%define FileEncryptionStatus FileEncryptionStatusA
%define FlushTrace FlushTraceA
%define GetAccessPermissionsForObject GetAccessPermissionsForObjectA
%define GetAuditedPermissionsFromAcl GetAuditedPermissionsFromAclA
%define GetCurrentHwProfile GetCurrentHwProfileA
%define GetEffectiveRightsFromAcl GetEffectiveRightsFromAclA
%define GetExplicitEntriesFromAcl GetExplicitEntriesFromAclA
%define GetFileSecurity GetFileSecurityA
%define GetInheritanceSource GetInheritanceSourceA
%define GetMultipleTrustee GetMultipleTrusteeA
%define GetMultipleTrusteeOperation GetMultipleTrusteeOperationA
%define GetNamedSecurityInfo GetNamedSecurityInfoA
%define GetNamedSecurityInfoEx GetNamedSecurityInfoExA
%define GetSecurityInfoEx GetSecurityInfoExA
%define GetServiceDisplayName GetServiceDisplayNameA
%define GetServiceKeyName GetServiceKeyNameA
%define GetTrusteeForm GetTrusteeFormA
%define GetTrusteeName GetTrusteeNameA
%define GetTrusteeType GetTrusteeTypeA
%define GetUserName GetUserNameA
%define I_ScSetServiceBits I_ScSetServiceBitsA
%define InitiateSystemShutdown InitiateSystemShutdownA
%define InitiateSystemShutdownEx InitiateSystemShutdownExA
%define LogonUser LogonUserA
%define LogonUserEx LogonUserExA
%define LookupAccountName LookupAccountNameA
%define LookupAccountSid LookupAccountSidA
%define LookupPrivilegeDisplayName LookupPrivilegeDisplayNameA
%define LookupPrivilegeName LookupPrivilegeNameA
%define LookupPrivilegeValue LookupPrivilegeValueA
%define LookupSecurityDescriptorParts LookupSecurityDescriptorPartsA
%define ObjectCloseAuditAlarm ObjectCloseAuditAlarmA
%define ObjectDeleteAuditAlarm ObjectDeleteAuditAlarmA
%define ObjectOpenAuditAlarm ObjectOpenAuditAlarmA
%define ObjectPrivilegeAuditAlarm ObjectPrivilegeAuditAlarmA
%define OpenBackupEventLog OpenBackupEventLogA
%define OpenEncryptedFileRaw OpenEncryptedFileRawA
%define OpenEventLog OpenEventLogA
%define OpenSCManager OpenSCManagerA
%define OpenService OpenServiceA
%define OpenTrace OpenTraceA
%define PrivilegedServiceAuditAlarm PrivilegedServiceAuditAlarmA
%define QueryAllTraces QueryAllTracesA
%define QueryServiceConfig2 QueryServiceConfig2A
%define QueryServiceConfig QueryServiceConfigA
%define QueryServiceLockStatus QueryServiceLockStatusA
%define QueryTrace QueryTraceA
%define ReadEventLog ReadEventLogA
%define RegConnectRegistry RegConnectRegistryA
%define RegConnectRegistryEx RegConnectRegistryExA
%define RegCreateKey RegCreateKeyA
%define RegCreateKeyEx RegCreateKeyExA
%define RegDeleteKey RegDeleteKeyA
%define RegDeleteKeyEx RegDeleteKeyExA
%define RegDeleteValue RegDeleteValueA
%define RegEnumKey RegEnumKeyA
%define RegEnumKeyEx RegEnumKeyExA
%define RegEnumValue RegEnumValueA
%define RegGetValue RegGetValueA
%define RegLoadKey RegLoadKeyA
%define RegOpenKey RegOpenKeyA
%define RegOpenKeyEx RegOpenKeyExA
%define RegQueryInfoKey RegQueryInfoKeyA
%define RegQueryMultipleValues RegQueryMultipleValuesA
%define RegQueryValue RegQueryValueA
%define RegQueryValueEx RegQueryValueExA
%define RegReplaceKey RegReplaceKeyA
%define RegRestoreKey RegRestoreKeyA
%define RegSaveKey RegSaveKeyA
%define RegSaveKeyEx RegSaveKeyExA
%define RegSetValue RegSetValueA
%define RegSetValueEx RegSetValueExA
%define RegUnLoadKey RegUnLoadKeyA
%define RegisterEventSource RegisterEventSourceA
%define RegisterServiceCtrlHandler RegisterServiceCtrlHandlerA
%define RegisterServiceCtrlHandlerEx RegisterServiceCtrlHandlerExA
%define RegisterTraceGuids RegisterTraceGuidsA
%define ReportEvent ReportEventA
%define SetEntriesInAccessList SetEntriesInAccessListA
%define SetEntriesInAcl SetEntriesInAclA
%define SetEntriesInAuditList SetEntriesInAuditListA
%define SetFileSecurity SetFileSecurityA
%define SetNamedSecurityInfo SetNamedSecurityInfoA
%define SetNamedSecurityInfoEx SetNamedSecurityInfoExA
%define SetSecurityInfoEx SetSecurityInfoExA
%define StartService StartServiceA
%define StartServiceCtrlDispatcher StartServiceCtrlDispatcherA
%define StartTrace StartTraceA
%define StopTrace StopTraceA
%define TreeResetNamedSecurityInfo TreeResetNamedSecurityInfoA
%define TrusteeAccessToObject TrusteeAccessToObjectA
%define UpdateTrace UpdateTraceA

%endif  ;// UNICODE

%endif  ;// __NASMX_ADVAPI32_INC__
